Project Repository Structure ============================ Starting at root of project cloned repository you'll find the listed hereby structure, folder and files. You are invited to only modify the ``.ml`` files included within the **Source** folder. .. WARNING:: Any change to configuration files is your own responsibility. .. contents:: Root Directories and Files :depth: 2 :local: ``README.md`` ---------------- Summarizing a number of elements you have in this documentation. ``dune-project`` ---------------- Configuration file containing a few basic information about the project (used by some automatic tools). If you modify it, you better know what you're doing. ``afit_file_fr.pdf`` and ``afit_file_en.pdf`` ---------------------------------------------- Maths file you already have access to, in case you forget the paper version in your bag and have no internet access. The more the merrier. You have a version in french as well as another one in english. Source ------ Contains ``.ml`` files you're expected to update in order to include expected code. You do not need to modify the ``.mli`` files. The **tests** folders contain **incomplete** unit tests to help out with your work. You are invited to add your own tests once you understand how to work it out. Every folder also contains a ``dune`` file, it is a configuration file used by the build system to build source code, link it and unit test it. If you modify it, you better know what you're doing. *builtin* Contains the ``.ml`` files to update for AFIT's first and second phases. Start here. Here are the list of ``.ml`` files you're supposed to modify. * ``builtin.ml`` * ``basic_arithmetic.ml`` * ``power.ml`` * ``test_primes.ml`` * ``generate_primes.ml`` * ``ciphers.ml`` * ``break_ciphers.ml`` * ``encoding_msg.ml`` * ``chinese_remaindert.ml`` *scalable* Contains the ``.ml`` files to update for AFIT's second and third minimal phases. **First phase first**. * ``scalable.ml`` * ``scalable_basic_arithmetic.ml`` * ``scalable_power.ml`` * ``scalable_test_primes.ml`` * ``scalable_generate_primes.ml`` * ``scalable_ciphers.ml`` * ``scalable_break_ciphers.ml`` * ``scalable_encoding_msg.ml`` *zarithing* Contains ``.ml`` files for extra phase. You're invited to work out a number of studied subjects in the context of a big integers implementation given by OCaml ``Zarith`` module. You'll find no help nor tests within this folder. It is up to you to understand how to use the ``Zarith`` module, write down your tests and fill in expected specifications for given functions.